const path = require('path')

function resolve(dir) {
  return path.join(__dirname, dir)
}
let publicPath = process.env.NODE_ENV === 'production' ? './' : '/'
module.exports = {
  publicPath: publicPath,
  outputDir: 'dist',
  devServer: {
    host: '192.168.6.143',
    port: 8090,
    open: true,
    proxy: {
      '/server': {
        target: 'http://192.168.4.205:80/',
        changeOrigin: true,
      },
      '/uploadfile': {
        // target: 'http://192.168.6.163:80/',
        target: 'http://192.168.4.205:80/',
        changeOrigin: true,
      },
    },
  },

  // 放置静态资源的地方 (js/css/img/font/...)
  // assetsDir: '',

  // 是否在保存的时候使用 `eslint-loader` 进行检查。
  // 有效的值：`ture` | `false` | `"error"`
  // 当设置为 `"error"` 时，检查出的错误会触发编译失败。
  lintOnSave: false,

  // 使用带有浏览器内编译器的完整构建版本
  // 查阅 https://cn.vuejs.org/v2/guide/installation.html#运行时-编译器-vs-只包含运行时
  // compiler: false,

  // babel-loader 默认会跳过 node_modules 依赖。
  // 通过这个选项可以显式转译一个依赖。
  transpileDependencies: [
    /* string or regex */
  ],
  chainWebpack: (config) => {
    const oneOfsMap = config.module.rule('scss').oneOfs.store
    oneOfsMap.forEach((item) => {
      item
        .use('sass-resources-loader')
        .loader('sass-resources-loader')
        .options({
          resources: ['./src/assets/styles/_var.scss'],
        })
        .end()
    })

    config.plugin('preload').tap(() => [
      {
        rel: 'preload',
        // to ignore runtime.js
        // https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171
        fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],
        include: 'initial',
      },
    ])

    config.plugin('html').tap((args) => {
      args[0].title = '中银商务'
      return args
    })

    config.resolve.alias.set('public', resolve('public'))
  },
  // 是否为生产环境构建生成 source map？
  productionSourceMap: false,

  // CSS 相关选项
  css: {},
}
